<template>
	<view class="login">
		
		<swiper vertical="true" style="height: 100vh">
			<swiper-item>
				<scroll-view>
					<view class="login-tel">
						<view class="tel-main">
							<view class="close" @tap="goBack">
								<image class="close-img" src="../../static/img/close.png" mode=""></image>
							</view>
							<view class="logo">
								<text class="aolai-shop">奥莱乐购</text>
							</view>
							<view class="tel" @tap="goLoginTel">手机号注册</view>
							<LoginOther></LoginOther>
							<view class="login-go">
								<view class="f-active-color">已有账号 - 去登录</view>
								<image src="../../static/img/down.png" mode=""></image>
							</view>
						</view>
					</view>
				</scroll-view>
			</swiper-item>
			<swiper-item>
				<scroll-view>
					<view class="login-tel">
						<view class="tel-main">
							<view class="close close-center">
								<view class=""  @tap="goBack">
									<image class="close-img" src="../../static/img/close.png" mode=""></image>
								</view>
								<view class="login-go">
									<image class="close-img" src="../../static/img/up.png" mode=""></image>
									<view class="">没有账号 - 去注册</view>
								</view>
								<view class=""></view>
							</view>
							<view class="login-from">
								<view class="login-user">
									<text class="user-text">账号</text>
									<input type="text" v-model="userName" value="" placeholder="请输入手机号/昵称" />
								</view>
								<view class="login-user">
									<text class="user-text">密码</text>
									<input type="password" v-model="userPwd" value="" placeholder="请输入6~16位字符" />
								</view>
							</view>
							<view class="login-quick">
								<view class="">忘记密码 ?</view>
								<view class="">免密登录</view>
							</view>
							<view class="tel" @tap='submit'>登录</view>
							<view class="reminder">温馨提示：您可以选择免密登录，方便快捷</view>
							<LoginOther></LoginOther>
						</view>
					</view>
				</scroll-view>
			</swiper-item>
		</swiper>

	</view>
</template>

<script>
	import $http from '@/common/api/request.js'
	import LoginOther from '@/components/login/login-other.vue'
	import { mapMutations } from 'vuex'
	export default {
		data() {
			return {
				// 用户输入的内容
				userName:"",
				userPwd:"",
				// 验证的规则
				rules: {
					userName: {
						rule:/\S/,
						msg:"账号不能为空"
				},
				userPwd: {
					rule:/^[0-9a-zA-Z]{6,16}$/,
					msg:'密码长度应该在6-16位之间'
				}
			}
		}
	},
		components: {
			LoginOther
		},
		methods: {
			...mapMutations(['login']),
			// 关闭当前页面  返回上一页面
			goBack() {
				uni.navigateBack({
					delta:1
				})
			},
			// 点击登录
			submit() {
				// console.log(this.rules.userName.rule.test(this.userName))
				if (!this.validate('userName')) return;
				if (!this.validate('userPwd')) return;
				uni.showLoading({
					title:"登录中···",
				})
				
				$http.request({
				  url: "/login",
				  method:"POST",
				  data: {
					  userName:this.userName,
					  userPwd: this.userPwd,
				  }
				}).then((res) => {
					if(res.success) {
						// 保存用户信息
						this.login(res.data);
						uni.showToast({
							title:res.msg,
							icon:"none"
						})
						uni.hideLoading();
						uni.navigateBack({
							delta:1
						})
					} else {
						uni.showToast({
							title:res.msg,
							icon:"none"
						})
					}
				}).catch(() => {
				  uni.showToast({
				    title: '请求失败···',
				    icon: 'none'
				  })
				})
			},
			// 判断验证是否符合规则
			validate(key) {
				let bool = true;
				if ( !this.rules[key].rule.test(this[key])) {
					uni.showToast({
						title:this.rules[key].msg,
						icon:"none"
					})
					bool = false;
					return false;
				}
				return bool;
			},
			// 进入手机号注册页面
			goLoginTel() {
				uni.navigateTo({
					url:"../login-tel/login-tel"
				})
			}
		}
	}
</script>

<style scoped>
.login-tel {
	width: 100vw;
	height: 100vh;
}
.tel-main {
	padding: 0 20rpx;
}
.close {
	padding: 120rpx 0;
}
.close-img {
	width: 60rpx;
	height: 60rpx;
}
.logo {
	padding-bottom: 100rpx;
	display: flex;
	justify-content: center;
}
.tel {
	width: 100%;
	height: 80rpx;
	line-height: 80rpx;
	text-align: center;
	color: #FFFFFF;
	background-color: #ff115c;
	border-radius: 40rpx;
}
.aolai-shop {
	font-size: 40px;
	color: #ff115c;
}
.login-go {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.login-go image {
	width: 60rpx;
	height: 60rpx;
}
/* 第二屏幕 */
.close-center {
	display: flex;
}
.close-center > view {
	flex: 1;
}
.login-from {
	padding-top: 100rpx;
}
.login-user {
	font-size: 32rpx;
	padding: 10rpx 0;
	display: flex;
	align-items: center;
	border-bottom: 1px solid #f3f3f3;
}
.user-text {
	padding-right: 10rpx;
}
.login-quick{
	display: flex;
	justify-content: space-between;
	padding: 20rpx 0;
}
.reminder {
	color: #000000;
	padding: 20rpx 0;
	text-align: center;
}
</style>
